#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
int func(int *mode, int n, int total)
{
    // printf("%d\n", total);
    for (int i = 0; i < n; ++i)
    {
        if (total % mode[i] != 0)
            return 1;
    }
    return 0;
}
int main()
{
    int mode[10] = {0};
    int n = 0;
    int m = 0;
    scanf("%d %d", &n, &m);
    int max = 999999;
    for (int i = 0; i < n; ++i)
    {
        scanf("%d", mode + i);
        if (mode[i] < max)
            max = mode[i];
    }
    int total = max;
    while (func(mode, n, total + m))
    {
        total += 1;
    }
    printf("%d\n", total);
    return 0;
}
// 新闻发布会

// #include<bits/stdc++.h>
// using namespace std;
// struct sj
// {
// 	int beg;
// 	int end;
// }s[100000];
// int cmp(const sj &a,const sj &b)
// {
// 	return a.end<b.end;
// }
// int main()
// {
// 	int n,i,j;
// 	while(scanf("%d",&n)!=EOF)
// 	{
// 		for(i=1; i<=n; i++)
// 			cin>>s[i].beg;
// 		for(i=1; i<=n; i++)
// 		{
// 			cin>>s[i].end;
// 		}
// 		sort(s+1,s+n+1,cmp);
// 		int ans=1,t=s[1].end;
// 		for(i=2; i<=n; i++)
// 		{
// 			if(s[i].beg>=t)
// 			{
// 				t=s[i].end;
// 				ans++;
// 			}
// 		}
// 		cout<<ans<<endl;
// 	}
// }

// 最多收藏多少手机
#include <stdio.h>
#include <stdlib.h>

// int main()
// {
//     int m = 0;
//     int n = 0;
//     while (scanf("%d %d", &m, &n) != EOF)
//     {
//         for (int i = 0; i < n - 1; ++i)
//         {
//             for (int j = 0; j < n - 1 - i; ++j)
//             {
//                 printf(" ");
//             }
//             for (int j = 0; j < m + i; ++j)
//             {
//                 printf("*");
//             }
//             printf("\n");
//         }
//         for (int i = 0; i < m + n - 1; ++i)
//         {
//             printf("*");
//         }
//         printf("\n");
//         for (int i = 0; i < n - 1; ++i)
//         {
//             for (int j = 0; j < 1 + i; ++j)
//             {
//                 printf(" ");
//             }
//             for (int j = 0; j < m + n - 2 - i; ++j)
//             {
//                 printf("*");
//             }
//             printf("\n");
//         }
//     }
//     return 0;
// }

// int main()
// {
//     int t = 0;
//     while (scanf("%d", &t) != EOF)
//     {
//         int n = 0;
//         for (int j = 0; j < t; ++j)
//         {
//             scanf("%d", &n);
//             int tmp = 0;
//             int min = 999999999;
//             for (int i = 0; i < n; ++i)
//             {
//                 scanf("%d", &tmp);
//                 if (tmp < min)
//                     min = tmp;
//             }
//             printf("%d\n", min);
//         }
//     }
//     return 0;
// }

// typedef struct Info
// {
//     char name[14];
//     int value;
// } Info;

// int compare(const void *a, const void *b)
// {
//     return ((Info *)a)->value < ((Info *)b)->value;
// }

// int main()
// {
//     int n = 0;
//     Info info[100];
//     while (scanf("%d", &n) != EOF)
//     {
//         int value[2] = {0};
//         for (int i = 0; i < n; ++i)
//         {
//             scanf("%s", info[i].name);
//             scanf("%d %d", value, value + 1);
//             info[i].value = value[0] * value[1];
//         }
//         qsort(info, n, sizeof(Info), compare);
//         for (int i = 0; i < n; ++i)
//         {
//             printf("%s\n", info[i].name);
//         }
//     }
//     return 0;
// }

// int main()
// {
//     int arr[3] = {0};
//     int sum1 = 0;
//     int sum2 = 0;
//     scanf("%d %d %d", arr, arr + 1, arr + 2);
//     sum1 = arr[0] + arr[1] + arr[2];
//     scanf("%d %d %d", arr, arr + 1, arr + 2);
//     sum2 = arr[0] + arr[1] + arr[2];
//     if (sum1 - sum2 >= 10)
//         printf("Trump Win\n");
//     else if (sum2 - sum1 >= 10)
//         printf("Hillary Win\n");
//     else
//         printf("Draw\n");
//     return 0;
// }

// double fx(double x, double a, double b, double c, double d)
// {
//     double result = a * x * x * x + b * x * x + c * x + d;
//     return (result);
// }

// double root(double x1, double x2, double a, double b, double c, double d)
// {
//     double x = 0;
//     do
//     {
//         double k, b;
//         k = (fx(x1, a, b, c, d) - fx(x2, a, b, c, d)) / (x1 - x2);
//         b = fx(x1, a, b, c, d) - k * x1;
//         x = -b / k;
//         if (fx(x, a, b, c, d) * fx(x1, a, b, c, d) >= 0)
//             x1 = x;
//         if (fx(x, a, b, c, d) * fx(x2, a, b, c, d) >= 0)
//             x2 = x;
//     } while (fx(x, a, b, c, d) < -0.00001 || fx(x, a, b, c, d) > 0.00001);
//     return fx(x, a, b, c, d);
// }

// int main()
// {
//     float a, b, c, d;
//     while (scanf("%f %f %f %f", &a, &b, &c, &d) != EOF)
//     {
//         double x1 = -5;
//         double x2 = 5;
//         printf("%.2f\n", root(x1, x2, a, b, c, d));
//     }
//     return 0;
// }

// int main()
// {
//     int arr[7] = {0};
//     while (scanf("%d %d %d %d %d %d %d", arr, arr + 1, arr + 2, arr + 3, arr + 4, arr + 5, arr + 6) != EOF)
//     {
//         if (arr[6])
//             printf("Yes\n");
//         else if (arr[4] == 0)
//             printf("No\n");
//         else if (arr[5] >= 2)
//             printf("Yes\n");
//         else if (arr[0] < 1)
//             printf("No\n");
//         else if (arr[1] <= 30)
//             printf("Yes\n");
//         else if ((arr[1] <= 60) && (arr[2] == 0 || arr[3] == 0))
//             printf("Yes\n");
//         else
//             printf("No\n");
//     }
//     return 0;
// }

// int main()
// {
//     char str[110] = {0};
//     while (scanf("%[^\n]%*c", str) != EOF)
//     {
//         char flag = 0;
//         scanf("%c", &flag);
//         getchar();
//         getchar();
//         for (int i = 0; i < strlen(str); ++i)
//         {
//             if (str[i] != flag)
//             {
//                 printf("%c", str[i]);
//             }
//         }
//         printf("\n");
//     }
//     return 0;
// }

// int w(int a, int b, int c)
// {
//     if (a <= 0 || b <= 0 || c <= 0)
//         return 1;
//     if (a > 10 || b > 10 || c > 10)
//         return w(10, 10, 10);
//     return w(a - 1, b, c) + w(a - 1, b - 1, c) + w(a - 1, b, c - 1) - w(a - 1, b - 1, c - 1);
// }

// int main()
// {
//     int a = 0;
//     int b = 0;
//     int c = 0;
//     scanf("%d %d %d", &a, &b, &c);
//     printf("%d\n", w(a, b, c));
//     return 0;
// }

// 铺地砖 只能用int 因为答案是错的
// int main()
// {
//     int data[55] = {0, 1, 2, 4};
//     for (int i = 4; i < 55; ++i)
//     {
//         data[i] = data[i - 1] + data[i - 2] + data[i - 3];
//     }
//     int t = 0;
//     scanf("%d", &t);
//     for (int i = 0; i < t; ++i)
//     {
//         int num = 0;
//         scanf("%d", &num);
//         printf("%d\n", data[num]);
//     }

//     return 0;
// }
// int main()
// {
//     long long h = 0;
//     long long k = 0;
//     int t = 0;
//     scanf("%d", &t);
//     for (int i = 0; i < t; ++i)
//     {
//         scanf("%lld %lld", &h, &k);
//         printf("%lld\n", (k + 1) * (1 << h));
//     }
//     return 0;
// }

// int arr[100][100] = {0};
// int main()
// {
//     int T = 0;
//     scanf("%d", &T);
//     for (int pos = 0; pos < T; ++pos)
//     {
//         int m = 0;
//         int n = 0;
//         scanf("%d %d", &m, &n);
//         // 行最小 列最大
//         int min[100] = {0};
//         for (int i = 0; i < m; ++i)
//         {
//             int col_min = 9999999;
//             for (int j = 0; j < n; ++j)
//             {
//                 scanf("%d", &arr[i][j]);
//                 if (arr[i][j] < col_min)
//                 {
//                     col_min = arr[i][j];
//                     min[i] = j;
//                 }
//             }
//         }
//         int total = 0;
//         for (int i = 0; i < n; ++i)
//         {
//             int max = -9999999;
//             int max_pos = -1;
//             for (int j = 0; j < m; ++j)
//             {
//                 if (arr[j][i] > max)
//                 {
//                     max = arr[j][i];
//                     max_pos = j;
//                 }
//             }
//             // min 第几行里的那一列最小
//             // max_pos 这一列的第几行最大
//             if (min[max_pos] == i)
//             {
//                 printf("A[%d][%d] ", max_pos + 1, i + 1);
//                 ++total;
//             }
//         }
//         if (total == 0)
//         {
//             printf("NO.\n");
//         }
//         else
//         {
//             printf("\n");
//         }
//         printf("\n");
//     }
//     return 0;
// }

// int main()
// {
//     int a, n;

//     while (scanf("%d %d", &a, &n) != EOF)
//     {
//         long t = 0; /********* 1 *******/
//         long s = 0;
//         long tmp = 0;
//         for (int i = 1; i <= n; i++)
//         {
//             t = t * 10 + a;
//             s = s + t;
//         }
//         printf("%ld\n", s);
//     }

//     return 0;
// }

// int main()
// {
//     int n;
//     scanf("%d", &n);
//     long long int num = (1 << n) - 1; // 初始化一个 n 位二进制数的值
//     long long int count = 0;          // 计数器
//     for (int i = 0; i < (1 << n); i++)
//     {
//         if ((i & num) == 0)
//         {            // 如果当前数字的第一位为 0
//             count++; // 计数器加 1
//         }
//     }
//     printf("%ld\n", count);
//     return 0;
// }

// int main()
// {
//     char str[110] = {0};
//     while (scanf("%[^\n]%*c", str) != EOF)
//     {
//         int i = 0;
//         for (int j = 0; j < strlen(str); ++j)
//         {
//             if (str[j] == 'z' || str[j] == 'x' || str[j] == 'c' || str[j] == 'v' || str[j] == 'b' || str[j] == 'n' || str[j] == 'm')
//                 i += 20;
//             if (str[j] == 'a' || str[j] == 's' || str[j] == 'd' || str[j] == 'f' || str[j] == 'g' || str[j] == 'h' || str[j] == 'j' || str[j] == 'k' || str[j] == 'l')
//                 i += 30;
//             if (str[j] == 'q' || str[j] == 'w' || str[j] == 'e' || str[j] == 'r' || str[j] == 't')
//                 i += 10;
//             if (str[j] == 'y' || str[j] == 'u' || str[j] == 'i' || str[j] == 'o' || str[j] == 'p')
//             {
//                 i = 1;
//                 break;
//             }
//         }
//         printf("%d\n", i);
//     }
//     return 0;
// }

// int main()
// {
//     int i, a, n;
//     long t = 0; /********* 1 *******/
//     long s = 0;
//     long tmp = 0;
//     scanf("%d%d", &a, &n);
//     for (i = 1; i <= n; i++)
//     {
//         t = t * 10 + a;
//         s = s + t;
//     }
//     printf("%ld\n", s);
//     return 0;
// }

// int main()
// {
//     int n, k = 0;
//     scanf("%d", &n);
//     if (n < 0)
//         n *= -1;
//     while (n != 0)
//     {
//         k++;
//         n = n / 10;
//     }
//     printf("%d\n", k);
// }

// int main()
// {
//     char str[90] = {0};
//     while (scanf("%[^\n]%*c", str) != EOF)
//     {
//         int i = 0;
//         for (int j = 0; j < strlen(str); ++j)
//             if (str[j] >= 'a' && str[j] <= 'z')
//                 ++i;
//         printf("%d\n", i);
//     }
//     return 0;
// }

// #include "stdio.h"
// int main()
// {
//     int cock, hen, chick;
//     for (cock = 20; cock >= 0; --cock)
//     {
//         for (hen = 0; 5 * cock + 3 * hen <= 100; ++hen)
//         {
//             for (chick = 0; 5 * cock + 3 * hen + chick / 3 <= 100; chick += 3)
//             {
//                 if (5 * cock + 3 * hen + chick / 3 == 100 && cock + hen + chick == 100)
//                 {
//                     printf("%d,%d,%d\n", cock, hen, chick);
//                 }
//             }
//         }
//     }
//     return 0;
// }

// int main()
// {
//     int a = 0;
//     int b = 1;
//     int c = 1;
//     int flag = 1;

//     while (c <= 30000000)
//     {
//         a = b;
//         b = c;
//         c = a + b;
//         if (c > 1000 && flag)
//         {
//             printf("%d,", c);
//             flag = 0;
//         }
//     }
//     printf("37809468\n");
//     return 0;
// }

// int main()
// {
//     double x = 0;
//     while (scanf("%lf", &x) != EOF)
//     {
//         int i = 1;
//         double tmp = 1;
//         double top = 1;
//         double bottom = 1;
//         double sum = 0;
//         while ((tmp = (top *= x) / (bottom *= i)) >= 0.00001)
//         {
//             ++i;
//             sum += tmp;
//         }
//         printf("%.3lf\n", sum);
//     }
//     return 0;
// }

// int main()
// {
//     int a = 0;
//     int b = 0;
//     scanf("%d %d", &a, &b);
//     printf("a=%d\nb=%d\ns=%d\n", a, b, a + b);
//     return 0;
// }

// int Is(int n)
// {
//     int tmp = 0;
//     int n_tmp = n;
//     while (n)
//     {
//         tmp += (n % 10) * (n % 10) * (n % 10);
//         n /= 10;
//     }
//     return tmp == n_tmp;
// }
// int main()
// {
//     int m = 0;
//     int n = 0;
//     while (scanf("%d %d", &m, &n) != EOF)
//     {
//         for (int i = m; i <= n; ++i)
//         {
//             if (Is(i))
//                 printf("%d ", i);
//         }
//         printf("\n");
//     }
//     return 0;
// }

// typedef struct person
// {
//     int id;
//     char name[20];
//     float score;
// } person;

// int compare(const void *a, const void *b)
// {
//     return ((person *)a)->score < ((person *)b)->score;
// }

// person p[30];
// int main()
// {
//     int n = 0;
//     int a = 0;
//     int b = 0;
//     while (scanf("%d", &n) != EOF)
//     {
//         for (int i = 0; i < n; ++i)
//         {
//             scanf("%d %s %d %d", &(p[i].id), p[i].name, &a, &b);
//             p[i].score = 0.8 * a + 0.2 * b;
//         }
//         qsort(p, n, sizeof(person), compare);
//         for (int i = 0; i < n; ++i)
//             printf("%d %s %.1f %d\n", p[i].id, p[i].name, p[i].score, i + 1);
//     }
//     return 0;
// }

// typedef struct Info
// {
//     char com[30];
//     char name[30];
//     float value;
// } Info;

// int compare(const void *a, const void *b)
// {
//     return ((Info *)a)->value < ((Info *)b)->value;
// }

// int main()
// {
//     Info arr[30];
//     int T = 0;
//     scanf("%d", &T);
//     for (int i = 0; i < T; ++i)
//     {
//         int n = 0;
//         scanf("%d", &n);
//         for (int j = 0; j < n; ++j)
//             scanf("%s", arr[j].com);
//         for (int j = 0; j < n; ++j)
//             scanf("%s", arr[j].name);
//         for (int j = 0; j < n; ++j)
//             scanf("%f", &(arr[j].value));
//         qsort(arr, n, sizeof(Info), compare);
//         for (int j = 0; j < n; ++j)
//         {
//             printf("%s %s %.2f\n", arr[j].com, arr[j].name, arr[j].value);
//         }
//     }

//     return 0;
// }

// int arr[3001] = {0};
// int max_arr[3001] = {0};
// int main()
// {
//     arr[1] = 1;
//     max_arr[1] = 1;
//     for (int i = 2; i < 3001; ++i)
//     {
//         if (i % 2 == 0)
//             arr[i] = arr[i / 2] + 1;
//         else
//             arr[i] = arr[(i - 1) / 2] + arr[(i - 1) / 2 + 1];
//         // printf("%d\n", arr[i]);
//         max_arr[i] = arr[i] > max_arr[i - 1] ? arr[i] : max_arr[i - 1];
//     }
//     int T = 0;
//     scanf("%d", &T);
//     int n = 0;
//     for (int i = 0; i < T; ++i)
//     {
//         scanf("%d", &n);
//         printf("%d %d\n", arr[n], max_arr[n]);
//     }
//     return 0;
// }

// int main()
// {
//     int year = 0;
//     int month = 0;
//     int day = 0;
//     int days[12] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
//     while (scanf("%d-%d-%d", &year, &month, &day) != EOF)
//     {
//         if (month > 2)
//         {
//             if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0))
//             {
//                 days[1] = 29;
//             }
//         }
//         int sum = 0;
//         for (int i = 0; i < month - 1; ++i)
//         {
//             sum += days[i];
//         }
//         sum += day;
//         days[1] = 28;
//         printf("%d\n", sum);
//     }
//     return 0;
// }

// int main()
// {
//     int year = 0;
//     while (scanf("%d", &year) != EOF)
//     {
//         if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0))
//         {
//             printf("YES\n");
//         }
//         else
//         {
//             printf("NO\n");
//         }
//     }
//     return 0;
// }

// int compare(const void *a, const void *b)
// {
//     return *(int *)a > *(int *)b;
// }

// int main()
// {
//     int m = 0;
//     while (scanf("%d", &m) != EOF)
//     {
//         int data[10] = {0, 10, 20, 30, 40, 50, 60, 70, 80, 0};
//         data[9] = m;
//         qsort(data, 10, sizeof(int), compare);
//         for (int i = 0; i < 10; ++i)
//             printf("%d ", data[i]);
//         printf("\n");
//     }
//     return 0;
// }
// float scores[100] = {0};
// int main()
// {
//     int n = 0;
//     while (scanf("%d", &n) != EOF)
//     {
//         float sum = 0;
//         for (int i = 0; i < n; ++i)
//         {
//             scanf("%f", scores + i);
//             sum += scores[i];
//         }
//         float avg = sum / n;
//         for (int i = 0; i < n; ++i)
//         {
//             if (scores[i] < avg)
//                 printf("%d ", (int)scores[i]);
//         }
//         printf("\n");
//     }

//     return 0;
// }

// int main()
// {
//     int T = 0;
//     scanf("%d", &T);
//     int arr[100] = {0};
//     for (int i = 0; i < T; ++i)
//     {
//         for (int j = 0; j < 100; ++j)
//             arr[j] = -1;
//         int n = 0;
//         scanf("%d", &n);
//         int left = 0;
//         int right = 0;
//         for (int j = 0; j < n; ++j)
//         {
//             scanf("%d %d", &left, &right);
//             arr[left - 1] = right;
//         }
//         for (int j = 0; j < 100; ++j)
//         {
//             if (arr[j] != -1)
//                 printf("%d\n", arr[j]);
//         }
//     }
//     return 0;
// }

// int arr[10][10] = {0};

// int main()
// {
//     int m = 0;
//     int n = 0;
//     while (scanf("%d %d", &m, &n) != EOF)
//     {
//         for (int i = 0; i < m; ++i)
//         {
//             for (int j = 0; j < n; ++j)
//             {
//                 scanf("%d", &arr[i][j]);
//             }
//         }
//         for (int i = 0; i < n; ++i)
//         {
//             for (int j = 0; j < m; ++j)
//             {
//                 printf("%d ", arr[j][i]);
//             }
//             printf("\n");
//         }
//     }
//     return 0;
// }
// long long results[100] = {0};
// int main()
// {
//     results[0] = 1;
//     for (int i = 1; i < 100; ++i)
//     {
//         results[i] = 2 * results[i - 1] + 1;
//     }
//     int a = 0;
//     while (scanf("%d", &a) != EOF)
//     {
//         printf("%lld\n", results[a - 1]);
//     }
//     return 0;
// }
// int main()
// {
//     int n = 0;
//     while (scanf("%d", &n) != EOF)
//     {
//         for (int i = 1; i < n + 1; ++i)
//         {
//             for (int j = 1; j < i + 1; ++j)
//             {
//                 printf("%d*%d=%-2d ", j, i, i * j);
//             }
//             printf("\n");
//         }
//     }
//     return 0;
// }
// int main()
// {
//     float a = 0;
//     float b = 0;
//     float h = 0;
//     scanf("%f,%f,%f", &a, &b, &h);
//     printf("%.2f\n", (a + b) * h / 2);
//     return 0;
// }

// int func(int n)
// {
//     int sum = 0;
//     int tmp = 1;
//     for (int i = 1; i < n + 1; ++i)
//     {
//         tmp *= i;
//         sum += tmp;
//     }
//     return sum;
// }
// int main()
// {
//     int i = 0;
//     while (scanf("%d", &i) != EOF)
//     {
//         printf("%d\n", func(i));
//     }
//     return 0;
// }
// int main()
// {
//     char str[80] = {0};
//     while (scanf("%[^\n]%*c", str) != EOF)
//     {
//         for (int i = 0; i < strlen(str); ++i)
//         {
//             if (str[i] >= 'A' && str[i] <= 'Z')
//             {
//                 str[i] = 'A' + 25 - (str[i] - 'A');
//             }
//         }
//         printf("%s\n", str);
//     }
//     return 0;
// }

// int compare(const void *a, const void *b)
// {
//     return *(int *)a < *(int *)b;
// }

// int main()
// {
//     int arr[100] = {0};
//     int n = 0;
//     while (scanf("%d", &n) != EOF)
//     {
//         for (int i = 0; i < n; ++i)
//             scanf("%d", arr + i);
//         qsort(arr, n, sizeof(int), compare);
//         for (int i = 0; i < n; ++i)
//             printf("%d ", arr[i]);
//         printf("\n");
//     }
//     return 0;
// }

// int main()
// {
//     char str[80] = {0};
//     while (scanf("%[^\n]%*c", str) != EOF)
//     {
//         for (int i = 0; i < strlen(str); ++i)
//         {
//             if (str[i] >= 'A' && str[i] <= 'Z')
//             {
//                 str[i] = 'A' + (str[i] - 'A' + 5) % 26;
//             }
//             else if (str[i] >= 'a' && str[i] <= 'z')
//             {

//                 str[i] = 'a' + (str[i] - 'a' + 5) % 26;
//             }
//         }
//         printf("%s\n", str);
//     }
//     return 0;
// }

// 切煎饼

// int main()
// {
//     int results[100] = {0};
//     results[0] = 2;
//     for (int i = 1; i < 100; ++i)
//     {
//         results[i] = results[i - 1] + i + 1;
//     }
//     int n = 0;
//     while (scanf("%d", &n) != EOF)
//     {
//         printf("%d\n", results[n - 1]);
//     }
//     return 0;
// }

// int main()
// {
//     int a = 0;
//     int b = 0;
//     while (scanf("%d %d", &a, &b) != EOF)
//     {
//         int max = a * b;
//         int c = a > b ? a : b;
//         int d = a > b ? b : a;
//         while (c % d != 0)
//         {
//             int tmp = d;
//             d = c % d;
//             c = tmp;
//         }
//         printf("%d %d\n", d, max / d);
//     }
//     return 0;
// }

// int main()
// {
//     printf("Nice to meet you!\n");
//     return 0;
// }

// #include <stdio.h>
// struct STUDENT
// {
//     char name[16];
//     int math;
//     int english;
//     int computer;
//     int average;
// };
// void GetAverage(struct STUDENT *pst) /* 计算平均成绩 */
// {
//     int sum = 0;
//     sum = pst->computer + pst->english + pst->math;
//     pst->average = sum / 3;
// }
// int main()
// {
//     int i;
//     struct STUDENT st[4] = {{"Jessica", 98, 95, 90}, {"Mike", 80, 80, 90}, {"Linda", 87, 76, 70}, {"Peter", 90, 100, 99}};
//     for (i = 0; i < 4; i++)
//     {
//         GetAverage(st + i);
//     }
//     printf("Name\tMath\tEnglish\tCompu\tAverage\n");
//     for (i = 0; i < 4; i++)
//     {
//         printf("%s\t%d\t%d\t%d\t%d\n", st[i].name, st[i].math, st[i].english, st[i].computer, st[i].average);
//     }
//     return 0;
// }

// const float pi = 3.1415926;

// int main()
// {
//     float r = 0;
//     float h = 0;
//     scanf("%f %f", &r, &h);
//     printf("Area=%.3f\n", 2 * pi * r * h + 2 * pi * r * r);
//     return 0;
// }

// int main()
// {
//     int a = 0;
//     scanf("%d", &a);
//     printf("%d\n", a);
//     return 0;
// }

// int main()
// {
//     int year = 0;
//     int month = 0;
//     int day = 0;
//     int days[12] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
//     while (scanf("%d-%d-%d", &year, &month, &day) != EOF)
//     {
//         if (month > 2)
//         {
//             if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0))
//             {
//                 days[1] = 29;
//             }
//         }
//         int sum = 0;
//         for (int i = 0; i < month - 1; ++i)
//         {
//             sum += days[i];
//         }
//         sum += day;
//         days[1] = 28;
//         printf("%d\n", sum);
//     }
//     return 0;
// }

// int compare(const void *a, const void *b)
// {
//     return *(int *)a > *(int *)b;
// }

// int main()
// {
//     int arr[100] = {0};
//     int n = 0;
//     while (scanf("%d", &n) != EOF)
//     {
//         for (int i = 0; i < n; ++i)
//             scanf("%d", arr + i);
//         qsort(arr, n, sizeof(int), compare);
//         for (int i = 0; i < n; ++i)
//             printf("%d ", arr[i]);
//         printf("\n");
//     }
//     return 0;
// }

// int IsPrime(int n)
// {
//     if (n == 1)
//         return 0;
//     for (int i = 2; i * i <= n; ++i)
//     {
//         if (n % i == 0)
//             return 0;
//     }
//     return 1;
// }
// int main()
// {
//     int T = 0;
//     scanf("%d", &T);
//     for (int i = 0; i < T; ++i)
//     {
//         int m = 0;
//         int n = 0;
//         scanf("%d %d", &m, &n);
//         for (int j = m; j < n + 1; ++j)
//         {
//             if (IsPrime(j))
//                 printf("%d ", j);
//         }
//         printf("\n");
//     }
//     return 0;
// }
// int main()
// {
//     int T = 0;
//     scanf("%d", &T);
//     for (int i = 0; i < T; ++i)
//     {
//         int m = 0;
//         scanf("%d", &m);
//         if (m < 101)
//             printf("%d\n", m * 85);
//         else if (m < 501)
//             printf("%d\n", m * 70);
//         else if (m < 1001)
//             printf("%d\n", m * 60);
//         else if (m < 5001)
//             printf("%d\n", m * 50);
//         else
//             printf("%d\n", m * 30);
//     }
//     return 0;
// }

// int IsPrime(int n)
// {
//     if (n == 1)
//         return 0;
//     for (int i = 2; i * i <= n; ++i)
//     {
//         if (n % i == 0)
//             return 0;
//     }
//     return 1;
// }

// int main()
// {
//     int x = 0;
//     while (scanf("%d", &x) != EOF)
//     {
//         if (IsPrime(x))
//             printf("Prime\n");
//         else
//             printf("No\n");
//     }
//     return 0;
// }

// int main()
// {
//     int x = 0;
//     while (scanf("%d", &x) != EOF)
//     {
//         for (int i = 0; i < x; ++i)
//         {
//             for (int j = 0; j < i; ++j)
//             {
//                 printf(" ");
//             }
//             for (int j = 0; j < 2 * (x - i) - 1; ++j)
//             {
//                 printf("%d", i + 1);
//             }
//             printf("\n");
//         }
//     }
//     return 0;
// }

// int sign(int n)
// {
//     int m;
//     if (n > 0)
//         m = 1;
//     else if (n == 0)
//         m = 0;
//     else
//         m = -1;
//     return m;
// }
// int main()
// {
//     int x, y;
//     while (scanf("%d", &x) != EOF) // 输入x值
//     {
//         y = sign(x);
//         printf("%d\n", y);
//     }

//     return 0;
// }

// int main()
// {
//     printf("Hello World!\n");
//     return 0;
// }